package com.diliuzun.delivery.common;

import com.diliuzun.delivery.util.UUIDUtil;
import lombok.extern.log4j.Log4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;

@Log4j
@RestController
public class FileUploadController {
    /**
     * 文件上传
     * @param file 待上传文件
     * @return uuid文件名
     */
    @PostMapping(value = "/file/upload",consumes = "multipart/form-data")
    public static String fileUpload(MultipartFile file) {
        String fileName = null;
        try{
            if(file !=null && !file.isEmpty()) {
                // 获取文件名
                fileName = file.getOriginalFilename();
                // 设置新的 uuid 文件名（以避免同名文件覆盖）
                fileName = UUIDUtil.getUUID() + fileName.substring(fileName.lastIndexOf("."));
                // 创建目标文件
                File targetFile = new File(fileName);
                // 将 file 保存到目标文件中
                file.transferTo(targetFile);

                log.info("文件上传成功：" + fileName);
            }
        }catch (Exception e){
            e.printStackTrace();
        }
        // 返回文件名
        return fileName;
    }
}
